草庐IT

SpringBoot Rabbit 多IP多 virtual host 配置

全部标签

php/ajax REMOTE_ADDR 设置为伪造网络适配器的 IP

今天我发现我的一个基于php的应用程序有一个非常奇怪的行为。在系统的某个部分,有一个UI使用AJAX调用来填充列表包含来自后端的内容的框。现在,AJAX监听器对所有传入请求执行安全检查,确保只有有效的客户端IP才能得到响应。有效的IP也存储在后端。为了获取客户端的IP,我使用了普通的旧IP$_SERVER['REMOTE_ADDR']这适用于大多数客户。今天我遇到了一个安装remote_addr包含一个网络适配器的IP,它不是执行的那个我的应用程序的实际通信。谷歌搜索让我很生气Roshan'sBlogentryonthetopuic:functiongetRealIpAddr(){if

php - 信誉良好的 geo-ip 定位服务

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion有哪些信誉良好和/或稳定的geo-ip定位服务提供商?我正在指定一个需要此功能的应用程序,每当我用googlegeo-ip搜索时,我都会得到大量的点击,但很难说出谁是合法提供商,谁是不靠谱的人。理想情况下,我想要可以在不调用外部API的情况下运行的东西(即定期数据库更新),但有兴趣了解提供实时/http服务的提供商的经验。如果它在PHP中运行那会很棒,但只要它可以在*

php - 表单输入 - 限制为每个 IP/计算机提交一次

我正在用php编写一个抽奖事件表单,用户在表单中提交一些信息并将其存储在数据库中。我想找到一种方法将此表单限制为每人只能提交一次。删除cookie或通过IP地址。解决这个问题的最佳方法是什么?我正在代码点火器上构建它,如果这有什么不同的话。 最佳答案 简单的回答,将IP记录在信息存储的同一行。如果您使用cookie,机器人或用户可以轻松删除cookie,从而破坏您的保护方案。因此,只需记录IP地址,然后在接受提交之前查询每个条目的唯一性。 关于php-表单输入-限制为每个IP/计算机提交

PHP - 阻止 IP 24 小时

我有一个PHP文件,我想收集人们的IP,然后如果他们的IP在过去24小时内运行过该文件,则阻止PHP文件继续运行。我试过使用cookie,但它一直给我“无法更改header”错误。另外,人们可以清除他们的cookie。基本上,它会保留运行php文件的每个人的IP,然后如果他们尝试在24小时内访问它,它会“回显“您可以在24小时内再次访问”并且不会运行整个文件。然后他们可以24小时后再做一次。 最佳答案 每次查看页面时,在删除超过24小时的条目后检查ip地址是否在数据库表中//Purgerecordsmysql_query("DELE

php - PHP 文件中的 Symfony2 数据库配置

我一直在寻找一种方法来做到这一点,但无法弄清楚。是否可以将Symfony2的数据库配置存储在PHP文件中?我想这样做的原因主要是因为我通常将整个“应用程序”放在一个公共(public)目录中,而且还因为我试图构建我的应用程序的方式。那么有没有办法做到这一点? 最佳答案 默认情况下,您的应用程序配置在Yaml中,但您可以配置Symfony的任何部分以使用您想要的任何配置类型。要将您的应用配置为使用PHP,您需要更改在app/AppKernel.php中加载您的配置的代码:publicfunctionregisterContainerC

php - Codeigniter:将 sess_match_ip 设置为 FALSE 是否仍然安全

我正在处理一个网站,来自某些国家/地区的访问者在使用codeigniter缓存系统时遇到问题。缓存在一两个请求后被删除。经过深入调查,我将sess_match_ip和sess_match_useragent设置为FALSE,现在一切正常。将这些配置保留为FALSE是否安全?谢谢 最佳答案 它的安全性稍差,但通常是必需的,尤其是在处理移动设备或代理服务器银行后面的用户时。为确保您尽可能安全,请务必将数据库用于session,并务必设置加密key和sess_encrypt_cookie,以便混淆存储在cookie中的少量信息。您可以做的

php - Symfony2 的 FOSElasticaBundle。如何配置连接到集群?

我通过FOSElasticaBundle在系统中使用Elasticsearch和Symfony2。虽然我只使用一台服务器,但可以像这样配置clients配置:https://github.com/FriendsOfSymfony/FOSElasticaBundle#basic-configurationfos_elastica:clients:default:{host:localhost,port:9200}但是当涉及到集群时,我尝试以某些方式进行配置但它不起作用,如下所示:fos_elastica:clients:default:[{host:localhost,port:9200

php - Yii2 REST API 作为模块路由配置

我有一个现有的Yii2应用程序,并且一直在尝试将RESTAPI实现为附加模块(也许模块不是解决此问题的正确方法?)但是我在配置路由结构时遇到了一些问题。根据followingguide,它不太有效,也没有遵循预期的结果。.我构建了一个额外的模块,如下所示:moduleapicontrollersUserController.phpModule.phpUserController.phpModule.php在我的配置文件中添加了以下内容:'request'=>[...'parsers'=>['application/json'=>'yii\web\JsonParser',]],...'u

php - 自定义 PHP 错误处理程序是否遵循 PHP 配置?

如果有人能向我解释PHP错误处理的架构,我会很高兴。一些具体问题是:默认错误处理程序在什么阶段读取相关的PHP配置选项?自定义错误处理程序是否完全忽略这些选项?如何使自定义错误处理程序遵守配置? 最佳答案 正如您所怀疑的那样。自定义错误处理程序必须自行探测所有设置并做出相应react。set_error_handlerexample首先检查当前事件的错误级别,并将其与表示当前错误类型的第一个回调参数(按位与)进行比较:if(!(error_reporting()&$errno)){但要初步测试您是否真的应该打印错误,您还需要:ini

php - 我们可以通过 PHP 脚本配置 cron 作业的时间间隔吗?

我们是否可以通过PHP脚本配置cron作业的时间间隔,这样时间间隔不应手动设置,而是通过PHP脚本设置,无论时间间隔来自数据库还是固定(但来自PHP代码)。提前致谢 最佳答案 我认为让您的应用程序控制事件的频率而不是cronjob要好得多。让cronjob每分钟运行您的应用程序的某个Action。例如,该操作然后检查名为cronjobs的数据库表并运行由频率数字或时间戳标记为运行的作业。如果你这样做,你可以从任何地方以编程方式添加新的工作,例如通过一个cronjob接口(interface)。该解决方案更易于维护、测试和记录。